<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <!-- OEM DDK  SCHEMA VERSION 1.0-->


  <!--Templates for types and restrictions-->
  <xs:complexType name="CommandLineOptions">
    <xs:annotation>
      <xs:documentation></xs:documentation>
    </xs:annotation>
    <xs:attribute name="Name" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="UsesPassword" type="BoolString" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="PasswordArgSwitch" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Description" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  
  <xs:simpleType name="PackageTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="SWDPackage">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DriverPackage">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TaskSequencePackage">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SoftwareUpdatePackage">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DeviceSettingPackage">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OSImagePackage">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BootImagePackage">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OSInstallPackage">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  
  
  <xs:simpleType name="FileExtensions">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ini">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="txt">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="xml">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="bin">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="log">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="cfg">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ini|xml">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="*">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

 <xs:simpleType name="Editors">
    <xs:restriction base="xs:string">
      <xs:enumeration value="None">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TextEditor">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HtmlEditor">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ArrayBuilder">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="HelpTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="HTML">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TXT">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CHM">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="XML">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ResultTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Success">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Failure">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Reboot">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SystemVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SearchStringPrefix">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SearchString">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>


  <xs:simpleType name="ReturnFileTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="String">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ControlValue">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TSVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SystemVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>


  <xs:complexType name="ReturnFileTemplate">
    <xs:attribute name="FileName" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="FileType" type="ReturnFileTypes" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="CopyMethod" type="Providers" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="CopyFrom" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="CopyTo" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:simpleType name="UserInputTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="cmdline">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="filename">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="none">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="BoolString">
    <xs:restriction base="xs:string">
      <xs:enumeration value="true">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="false" >
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

   <xs:simpleType name="Order">
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value ="99"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ParamsTemplate">
    <xs:attribute name="Order" type="xs:int" use ="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="ParamSwitch" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="ParamValue" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="ParamType" type="ParamTypes" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:simpleType name="ParamTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="String">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Filename">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TSVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SystemVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EmbeddedFile">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Password">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StdOut">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="StdErr">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ControlValue">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DrvLoad">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="None">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="Providers">
    <xs:restriction base="xs:string">
      <xs:enumeration value="SmbFileTransfer">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="CommandTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="EXE">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VBScript">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PowerShell">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CMDorBAT">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CmdLineString">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RebootToPxe">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="EnvVarType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="String">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Filename">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TSVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SystemVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VariableInString">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ControlValue">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="EnvVarSetAsType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="SystemVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TSVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SysAndTsVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MachineVariable">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="File">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="TaskTemplate">
    <xs:sequence>
      <xs:element name="Parameter" maxOccurs="unbounded" minOccurs="0" type="ParamsTemplate">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ResultCodes" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ResultCode" minOccurs="1" maxOccurs="unbounded" type="ResultCodeTemplate">
              <xs:annotation>
                <xs:documentation></xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
        <xs:key name="ResultCodeOrder">
          <xs:selector xpath=".//ResultCode" />
          <xs:field xpath="@Code" />
        </xs:key>
      </xs:element>
      <xs:element name="SetEnvironmentVariable" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attribute name="VarName" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="VarValue" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="VarType" use="required" type="EnvVarType">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="SetAsType" use="required" type="EnvVarSetAsType">
            <xs:annotation>
              <xs:documentation></xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReturnFile" minOccurs="0" maxOccurs="unbounded" type="ReturnFileTemplate">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Order" type="xs:int" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="StepName" type ="xs:string" use ="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Executable" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="CommandType" type="CommandTypes" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="WorkingDirectory" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="RunAsUser" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="RunAsPassword" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="RunWindow" type="WindowTypes" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="IgnoreErrors" type="BoolString" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>



  <xs:simpleType name="WindowTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Hidden">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Minimized">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Normal">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Maximized">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>



  <xs:complexType name="ResultCodeTemplate">
    <xs:attribute name="Code" use="required" type="xs:string">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="TranslatedCode" use="optional" type="xs:string">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="Description" use="optional" type="xs:string">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="ResultType" use="required" type="ResultTypes">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  
  <xs:complexType name="ControlTemplate">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Options">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="CommandLineOption" type="CommandLineOptions"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Name" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="ControlType" type="ControlTypes" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="DefaultLabel" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="DefaultValue" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="IsEnabled" type="xs:boolean" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="IsVisible" type="xs:boolean" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>


  <xs:simpleType name="ControlTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Textbox">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DropDownList">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DropDown">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ListBox">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Checkbox">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Radio">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MultiLineTextBox">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="NumericUpDown">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Button">
        <xs:annotation>
          <xs:documentation></xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="ArrayBuilderOptionType">
    <xs:sequence>
      <xs:sequence>
        <xs:element name="OptionValue" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:attribute name="Name" type="xs:string">
              <xs:annotation>
                <xs:documentation></xs:documentation>
              </xs:annotation>
            </xs:attribute>
            <xs:attribute name="ReadOnly" type="xs:boolean">
              <xs:annotation>
                <xs:documentation></xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:sequence>
        <xs:element name="DefaultOption" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:attribute name="Name" type="xs:string">
              <xs:annotation>
                <xs:documentation></xs:documentation>
              </xs:annotation>
            </xs:attribute>
            <xs:attribute name="ReadOnly" type="xs:boolean">
              <xs:annotation>
                <xs:documentation></xs:documentation>
              </xs:annotation>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:sequence>
    <xs:attribute name="Name">
    </xs:attribute>
    <xs:attribute name="Description">
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="MasterTemplate" mixed="false">
    <xs:sequence minOccurs="0" maxOccurs="1">
      <xs:element minOccurs="0" maxOccurs="1" name="Controls">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" name="Control" type="ControlTemplate">
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CmdLineOption" type="CommandLineOptions" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AddlCmdLineOption" type="CommandLineOptions" />
      <xs:element minOccurs="0" maxOccurs="1" name="PreConfigurationTasks">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="1" maxOccurs="unbounded" name="Task" type="TaskTemplate">
              <xs:key name="PreConfigParamOrder">
                <xs:selector xpath=".//Parameter" />
                <xs:field xpath="@Order" />
              </xs:key>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
        <xs:key name="PreConfigTaskOrder">
          <xs:selector xpath=".//Task" />
          <xs:field xpath="@Order" />
        </xs:key>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="ConfigurationTask">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="1" maxOccurs="1" name="Task" type="TaskTemplate">
              <xs:key name="ConfigParamOrder">
                <xs:selector xpath=".//Parameter" />
                <xs:field xpath="@Order" />
              </xs:key>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" maxOccurs="1" name="PostConfigurationTasks">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="1" maxOccurs="unbounded" name="Task" type="TaskTemplate">
              <xs:key name="PostConfigParamOrder">
                <xs:selector xpath=".//Parameter" />
                <xs:field xpath="@Order" />
              </xs:key>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
        <xs:key name="PostConfigTaskOrder">
          <xs:selector xpath=".//Task" />
          <xs:field xpath="@Order" />
        </xs:key>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Enable" type="BoolString" use="required">
      <xs:annotation>
        <xs:documentation>Enables the display of the action in the drop-down list. Setting this to false for an action disables the display of the action to the user.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="UserInputType" use="optional" type="UserInputTypes">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="InputFileEditor" use="optional" type="Editors">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="FileExtension" use="optional" type="FileExtensions">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="SamplesPath" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation>The relative path (no leading or trailing slash) to the sample configuration files in the package.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="UseSamplesPathInCmdLine" type="BoolString" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="DefaultCommandLine" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation>Specifies the default command line to be placed in the Command Line box to assist the user.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="AddlCmdLineEnabled" type="BoolString" use="optional">
      <xs:annotation>
        <xs:documentation>Enables and makes visible the Additional Command Line box.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="AddlCmdLineChecked" type="BoolString" use="optional">
      <xs:annotation>
        <xs:documentation>Checks the checkbox for the additional command line box and and forces the user to enter an additional command line.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="EnablePassword" type="BoolString" use="required">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="DefaultTaskName" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType mixed="true" name="HelpParamsTemplate">
    <xs:attribute name="Format" use="required" type="HelpTypes">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="HelpFile" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="HelpTopic" type="xs:string" use="optional">
      <xs:annotation>
        <xs:documentation></xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <!-- Main part of schema -->
  <xs:element name="DeploymentPack">
    <xs:complexType>
      <xs:sequence>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="1" name="VendorInfo">
            <xs:complexType>
              <xs:attribute name="CompanyName" type="xs:string" use="required">
                <xs:annotation>
                  <xs:documentation>The vendor name supplying the deployment kit package.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="FullName" type="xs:string" use="optional">
                <xs:annotation>
                  <xs:documentation>If the CompanyName attribute contains a shortened vendor name, this attribute allows the use of the full company name.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="Version" type="xs:decimal" use="required">
                <xs:annotation>
                  <xs:documentation>The user-supplied version string indicating the internal version number of the XML being used to assist with change management.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
              <xs:attribute name="Language" type="xs:string" use="required">
                <xs:annotation>
                  <xs:documentation>Allows you to specify a language for this XML in order to localize the strings displayed to the user.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:element name="ConfigurationTypes">
          <xs:annotation>
            <xs:documentation></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ConfigurationType" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation></xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Get" maxOccurs="1" minOccurs="1" type="MasterTemplate">
                      <xs:annotation>
                        <xs:documentation>Specifies an action in the drop-down list for gathering information from the remote machine.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Set" maxOccurs="1" minOccurs="1" type="MasterTemplate">
                      <xs:annotation>
                        <xs:documentation>Specifies and action in the drop-down list for setting information on the remote machines.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="ParamsHelpText" maxOccurs="1" minOccurs="0" type="HelpParamsTemplate">
                      <xs:annotation>
                        <xs:documentation>Allows the specification of help information exposed through the help button.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="DisplayName" type="xs:string" use="required">
                    <xs:annotation>
                      <xs:documentation>This name of the Configuration Action Type displayed in the drop-down list.</xs:documentation>
                    </xs:annotation>
                  </xs:attribute>
                  <xs:attribute name="PackageName" type="xs:string" use="required">
                    <xs:annotation>
                      <xs:documentation>The name of the software distribution package that is associated with this ConfigurationType.</xs:documentation>
                    </xs:annotation>
                  </xs:attribute>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="ArrayBuilderOptions" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ObjectNames" minOccurs="1" maxOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Controller" type="xs:string">
                      <xs:annotation>
                        <xs:documentation></xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="Array" type="xs:string">
                      <xs:annotation>
                        <xs:documentation></xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="LogicalDrive" type="xs:string">
                      <xs:annotation>
                        <xs:documentation></xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="PhysicalDisk" type="xs:string">
                      <xs:annotation>
                        <xs:documentation></xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="HotSpare" type="xs:string">
                      <xs:annotation>
                        <xs:documentation></xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="GlobalHotSpare" type="xs:string">
                      <xs:annotation>
                        <xs:documentation></xs:documentation>
                      </xs:annotation>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="SupportedRaidLevels" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="RaidLevel" minOccurs="1" maxOccurs="unbounded">
                      <xs:annotation>
                        <xs:documentation></xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:attribute name="Name">
                          <xs:simpleType>
                            <xs:restriction base="xs:string">
                              <xs:enumeration value="0">
                                <xs:annotation>
                                  <xs:documentation></xs:documentation>
                                </xs:annotation>
                              </xs:enumeration>
                              <xs:enumeration value="1">
                                <xs:annotation>
                                  <xs:documentation></xs:documentation>
                                </xs:annotation>
                              </xs:enumeration>
                              <xs:enumeration value="5">
                                <xs:annotation>
                                  <xs:documentation></xs:documentation>
                                </xs:annotation>
                              </xs:enumeration>
                              <xs:enumeration value="6">
                                <xs:annotation>
                                  <xs:documentation></xs:documentation>
                                </xs:annotation>
                              </xs:enumeration>
                              <xs:enumeration value="10">
                                <xs:annotation>
                                  <xs:documentation></xs:documentation>
                                </xs:annotation>
                              </xs:enumeration>
                              <xs:enumeration value="50">
                                <xs:annotation>
                                  <xs:documentation></xs:documentation>
                                </xs:annotation>
                              </xs:enumeration>
                              <xs:enumeration value="60">
                                <xs:annotation>
                                  <xs:documentation></xs:documentation>
                                </xs:annotation>
                              </xs:enumeration>
                              <xs:enumeration value="Dynamic">
                                <xs:annotation>
                                  <xs:documentation></xs:documentation>
                                </xs:annotation>
                              </xs:enumeration>
                              <xs:enumeration value="None">
                                <xs:annotation>
                                  <xs:documentation></xs:documentation>
                                </xs:annotation>
                              </xs:enumeration>
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:attribute>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="SupportedOptions" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="LogicalDrivePercent" minOccurs="0" maxOccurs="1">
                      <xs:complexType>
                        <xs:attribute name="Enabled" type="xs:boolean" use="required">
                          <xs:annotation>
                            <xs:documentation></xs:documentation>
                          </xs:annotation>
                        </xs:attribute>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="MaxGlobalHotSparesPerController" minOccurs="0" maxOccurs="1">
                      <xs:complexType>
                        <xs:attribute name="Qty" type="xs:integer" use="required">
                          <xs:annotation>
                            <xs:documentation></xs:documentation>
                          </xs:annotation>
                        </xs:attribute>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="MaxHotSparesPerArray" minOccurs="0" maxOccurs="1">
                      <xs:complexType>
                        <xs:attribute name="Qty" type="xs:integer" use="required">
                          <xs:annotation>
                            <xs:documentation></xs:documentation>
                          </xs:annotation>
                        </xs:attribute>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="ControllerOptions" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Option" minOccurs="0" maxOccurs="unbounded" type="ArrayBuilderOptionType">
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="ArrayOptions" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Option" minOccurs="0" maxOccurs="unbounded" type="ArrayBuilderOptionType">
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="LogicalDriveOptions" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Option" minOccurs="0" maxOccurs="unbounded" type="ArrayBuilderOptionType">
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>

        </xs:element>
        <xs:element name="CustomRebootOptions" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="PackageIdReplacement" minOccurs="1" maxOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Package" minOccurs="1" maxOccurs="unbounded">
                      <xs:annotation>
                        <xs:documentation></xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:attribute name="ID" type="xs:string" use="required">
                          <xs:annotation>
                            <xs:documentation>The "fake" package ID value (i.e. XXX00001) that will be replaced in the task sequence template</xs:documentation>
                          </xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="Title" type="xs:string" use="required">
                          <xs:annotation>
                            <xs:documentation>
                              The title of the installed package that corresponds to this item in the template. 
                              SQL query wildcards are permitted (i.e. %Windows%), but your query should only return one package. 
                              If your query string results in more than one package, it will not be replaced 
                              (except for identically-named packages where the version number attribute is used to determine the package used).
                          </xs:documentation>
                          </xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="PackageType" type="PackageTypes" use="required">
                          <xs:annotation>
                            <xs:documentation>The type of package this refers to (helps narrow the scope of the search).</xs:documentation>
                          </xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="VersionNumber" type="xs:string" use="optional">
                          <xs:annotation>
                            <xs:documentation>(Optional) Use a version number for selecting the appropriate package when multiple packages of the same name exist.</xs:documentation>
                          </xs:annotation>
                        </xs:attribute>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="HardwareConfigItems" minOccurs="1" maxOccurs="1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="HardwareConfigItem" minOccurs="1" maxOccurs="unbounded">
                      <xs:annotation>
                        <xs:documentation>
                          This element provides the way to specify one or more items that appear in the list of configuration types in the custom reboot dialog for creating a task sequence template.
                          You must also specify the corresponding configuration action type that will be used when this item is selected by the user.
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="DisplayName" type="xs:string" minOccurs="1" maxOccurs="1">
                            <xs:annotation>
                              <xs:documentation>The text to be displayed in the list for the user to select. Example: "Get BIOS config (ini file)"</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="ActionName" type="xs:string" minOccurs="1" maxOccurs="1">
                            <xs:annotation>
                              <xs:documentation>Must be equal to a ConfigurationType/DisplayName. For example: "BIOS Config (ini file)"</xs:documentation>
                            </xs:annotation>
                          </xs:element>
                          <xs:element name="ActionType" minOccurs="1" maxOccurs="1">
                            <xs:annotation>
                              <xs:documentation>Must be equal to a Get or Set</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:enumeration value="Get"></xs:enumeration>
                                <xs:enumeration value="Set"></xs:enumeration>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  
</xs:schema>